/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.fiap.persistencia;

import br.com.fiap.modelos.DadosSac;
import br.com.fiap.modelos.DadosForm;
import java.text.SimpleDateFormat;
import java.util.Date;

import java.util.List;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.EntityTransaction;
import javax.persistence.Persistence;
import javax.persistence.Query;
import javax.xml.crypto.dsig.Transform;


/**
 *
 * @author Jose Arce - rm64586
 */
public class DAOWeb {
    
    private EntityManagerFactory factory;
    private EntityManager motor;
    private EntityTransaction transação;
    
    public DAOWeb()
    {
        factory = Persistence.createEntityManagerFactory("projWeb");
    }
    
    
    public void persistirDados(DadosForm dados)
    {
        motor = factory.createEntityManager();
        
        transação = motor.getTransaction();
        
        transação.begin();

	motor.persist(dados);

	transação.commit();
        
    
    }
    
    private SimpleDateFormat dataFormat = new SimpleDateFormat("dd/MM/yyyy");
    public List<DadosForm> pesquisarPorData(String dataIn, String dataFi)
    {
       Date dtInit = null;
       Date dtFinal = null;
       try{
           dtInit = dataFormat.parse(dataIn);
           dtFinal = dataFormat.parse(dataFi);
          }catch(Exception e){
           System.out.println("Data no formato errado !");
          }
       
        motor = factory.createEntityManager();
        
        transação = motor.getTransaction();
        
        transação.begin();
        
        Query query = motor.createQuery("select p from DadosForm p where  p.dataCad >= :dt2 and p.dataCad <= :dt1  ");
        query.setParameter("dt2", dtInit);
        query.setParameter("dt1", dtFinal);
		
        
        List<DadosForm> listaReclamacoes = query.getResultList();
        
        transação.commit();
        
	return  listaReclamacoes;
        
	}
    
      
}
